Method and apparatus for capturing geolocating and measuring oblique images

ABSTRACT

A computerized system for displaying, geolocating, and taking measurements from captured oblique images includes a data file accessible by the computer system. The data file includes a plurality of image files corresponding to a plurality of captured oblique images, and positional data corresponding to the images. Image display and analysis software is executed by the system for reading the data file and displaying at least a portion of the captured oblique images. The software retrieves the positional data for one or more user-selected points on the displayed image, and calculates a separation distance between any two or more selected points. The separation distance calculation is user-selectable to determine various parameters including linear distance between, area encompassed within, relative elevation of, and height difference between selected points.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. Ser. No. 12/186,889, filedAug. 6, 2008, now U.S. Pat. No. 7,787,659, which is a continuation ofU.S. Ser. No. 10/701,839, filed on Nov. 5, 2003, now U.S. Pat. No.7,424,133, which claims priority to the provisional patent applicationidentified by the U.S. Ser. No. 60/425,275, filed Nov. 8, 2002, of whichthe entire content of each application is hereby expressly incorporatedby reference.

TECHNICAL FIELD

The present invention relates to photogrammetry. More particularly, thepresent invention relates to a method and apparatus for capturingoblique images and for measuring the objects and distances between theobjects depicted therein.

BACKGROUND

Photogrammetry is the science of making measurements of and betweenobjects depicted within photographs, especially aerial photographs.Generally, photogrammetry involves taking images of terrestrial featuresand deriving data therefrom, such as, for example, data indicatingrelative distances between and sizes of objects within the images.Photogrammetry may also involve coupling the photographs with otherdata, such as data representative of latitude and longitude. In effect,the image is overlaid and conformed to a particular spatial coordinatesystem.

Conventional photogrammetry involves the capture and/or acquisition oforthogonal images. The image-capturing device, such as a camera orsensor, is carried by a vehicle or platform, such as an airplane orsatellite, and is aimed at a nadir point that is directly below and/orvertically downward from that platform. The point or pixel in the imagethat corresponds to the nadir point is the only point/pixel that istruly orthogonal to the image-capturing device. All other points orpixels in the image are actually oblique relative to the image-capturingdevice. As the points or pixels become increasingly distant from thenadir point they become increasingly oblique relative to theimage-capturing device and the ground sample distance (i.e., the surfacearea corresponding to or covered by each pixel) also increases. Suchobliqueness in an orthogonal image causes features in the image to bedistorted, especially images relatively distant from the nadir point.

Such distortion is removed, or compensated for, by the process ofortho-rectification which, in essence, removes the obliqueness from theorthogonal image by fitting or warping each pixel of an orthogonal imageonto an orthometric grid or coordinate system. The process ofortho-rectification creates an image wherein all pixels have the sameground sample distance and are oriented to the north. Thus, any point onan ortho-rectified image can be located using an X, Y coordinate systemand, so long as the image scale is known, the length and width ofterrestrial features as well as the relative distance between thosefeatures can be calculated.

Although the process of ortho-rectification compensates to a degree foroblique distortions in an orthogonal image, it introduces otherundesirable distortions and/or inaccuracies in the ortho-rectifiedorthogonal image. Objects depicted in ortho-rectified orthogonal imagesmay be difficult to recognize and/or identify since most observers arenot accustomed to viewing objects, particularly terrestrial features,from above. To an untrained observer an ortho-rectified image has anumber of distortions. Roads that are actually straight appear curvedand buildings may appear to tilt. Further, ortho-rectified imagescontain substantially no information as to the height of terrestrialfeatures. The interpretation and analysis of orthogonal and/orortho-rectified orthogonal images is typically performed byhighly-trained analysts whom have undergone years of specializedtraining and experience in order to identify objects and terrestrialfeatures in such images.

Thus, although orthogonal and ortho-rectified images are useful inphotogrammetry, they lack information as to the height of featuresdepicted therein and require highly-trained analysts to interpret detailfrom what the images depict.

Oblique images are images that are captured with the image-capturingdevice aimed or pointed generally to the side of and downward from theplatform that carries the image-capturing device. Oblique images, unlikeorthogonal images, display the sides of terrestrial features, such ashouses, buildings and/or mountains, as well as the tops thereof. Thus,viewing an oblique image is more natural and intuitive than viewing anorthogonal or ortho-rectified image, and even casual observers are ableto recognize and interpret terrestrial features and other objectsdepicted in oblique images. Each pixel in the foreground of an obliqueimage corresponds to a relatively small area of the surface or objectdepicted (Le., each foreground pixel has a relatively small groundsample distance) whereas each pixel in the background corresponds to arelatively large area of the surface or object depicted (i.e., eachbackground pixel has a relatively large ground sample distance). Obliqueimages capture a generally trapezoidal area or view of the subjectsurface or object, with the foreground of the trapezoid having asubstantially smaller ground sample distance (i.e., a higher resolution)than the background of the trapezoid.

Oblique images are considered to be of little or no use inphotogrammetry. The conventional approach of forcing the variously-sizedforeground and background pixels of an oblique image into a uniform sizeto thereby warp the image onto a coordinate system dramatically distortsthe oblique image and thereby renders identification of objects and thetaking of measurements of objects depicted therein a laborious andinaccurate task. Correcting for terrain displacement within an obliqueimage by using an elevation model further distorts the images therebyincreasing the difficulty with which measurements can be made andreducing the accuracy of any such measurements.

Thus, although oblique images are considered as being of little or nouse in photogrammetry, they are easily interpreted and containinformation as to the height of features depicted therein. Therefore,what is needed in the art is a method and apparatus for photogrammetrythat enable geo-location and accurate measurements within obliqueimages.

Moreover, what is needed in the art is a method and apparatus forphotogrammetry that enable the measurement of heights and relativeheights of objects within an image. Furthermore, what is needed in theart is a method and apparatus for photogrammetry that utilizes moreintuitive and natural images.

SUMMARY OF THE INVENTION

The present invention provides a method and apparatus for capturing,displaying, and making measurements of objects and distances betweenobjects depicted within oblique images. The present invention comprises,in one form thereof, a computerized system for displaying, geolocating,and taking measurements from captured oblique images. The systemincludes a data file accessible by the computer system. The data fileincludes a plurality of image files corresponding to a plurality ofcaptured oblique images, and positional data corresponding to theimages. Image display and analysis software is executed by the systemfor reading the data file and displaying at least a portion of thecaptured oblique images. The software retrieves the positional data forone or more user-selected points on the displayed image, and calculatesa separation distance between any two or more selected points. Theseparation distance calculation is user-selectable to determine variousparameters including linear distance between, area encompassed within,relative elevation of, and height difference between selected points.

BRIEF DESCRIPTION OF THE DRAWINGS

The above-mentioned and other features and advantages of this invention,and the manner of attaining them, will become apparent and be morecompletely understood by reference to the following description of oneembodiment of the invention when read in conjunction with theaccompanying drawings, wherein:

FIG. 1 illustrates one embodiment of a platform or vehicle carrying animage-capturing system of the present invention, and shows exemplaryorthogonal and oblique images taken thereby;

FIG. 2 is a diagrammatic view of the image-capturing system of FIG. 1;

FIG. 3 is a block diagram of the image-capturing computer system of FIG.2;

FIG. 4 is a representation of an exemplary output data file of theimage-capturing system of FIG. 1;

FIG. 5 is a block diagram of one embodiment of an image display andmeasurement computer system of the present invention for displaying andtaking measurements of and between objects depicted in the imagescaptured by the image-capturing system of FIG. 1;

FIG. 6 depicts an exemplary image displayed on the system of FIG. 5, andillustrates one embodiment of the method of the present invention forthe measurement of and between objects depicted in such an image;

FIGS. 7 and 8 illustrate one embodiment of a method for capturingoblique images of the present invention;

FIGS. 9 and 10 illustrate a second embodiment of a method for capturingoblique images of the resent invention.

Corresponding reference characters indicate corresponding partsthroughout the several views. The exemplifications set out hereinillustrate one preferred embodiment of the invention, in one form, andsuch exemplifications are not to be construed as limiting the scope ofthe invention in any manner.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring now to the drawings, and particularly to FIG. 1, oneembodiment of an apparatus for capturing and geolocating oblique imagesof the present invention is shown. Apparatus 10 includes a platform orvehicle 20 that carries image-capturing and geolocating system 30.

Platform 20, such as, for example, an airplane, space shuttle, rocket,satellite, or any other suitable vehicle, carries image-capturing system30 over a predefined area of and at one or more predetermined altitudesabove surface 31, such as, for example, the earth's surface or any othersurface of interest. As such, platform 20 is capable of controlledmovement or flight, either manned or unmanned, along a predefined flightpath or course through, for example, the earth's atmosphere or outerspace. Image capturing platform 20 includes a system for generating andregulating power (not shown) that includes, for example, one or moregenerators, fuel cells, solar panels, and/or batteries, for poweringimage-capturing system 30.

Image-capturing and geo-locating system 30, as best shown in FIG. 2,includes image capturing devices 32 a and 32 b, a global positioningsystem (GPS) receiver 34, an inertial navigation unit (INU) 36, clock38, gyroscope 40, compass 42 and altimeter 44, each of which areinterconnected with image-capturing computer system 46.

Image-capturing devices 32 a and 32 b, such as, for example,conventional cameras, digital cameras, digital sensors, charge-coupleddevices, or other suitable image-capturing devices, are capable ofcapturing images photographically or electronically. Image-capturingdevices 32 a and 32 b have known or determinable characteristicsincluding focal length, sensor size and aspect ratio, radial and otherdistortion terms, principal point offset, pixel pitch, and alignment.Image-capturing devices 32 a and 32 b acquire images and issue imagedata signals (IDS) 48 a and 48 b, respectively, corresponding to theparticular images or photographs taken and which are stored inimage-capturing computer system 46, as will be more particularlydescribed hereinafter.

As best shown in FIG. 1, image-capturing devices 32 a and 32 b haverespective central axes A₁ and A₂, and are mounted to platform 20 suchthat axes A₁ and A₂ are each at an angle of declination Ø relative to ahorizontal plane P. Declination angle Ø is virtually any oblique angle,but is preferably from approximately 20° (twenty degrees) toapproximately 60° (sixty degrees) and is most preferably fromapproximately 40° (forty degrees) to approximately 50° (fifty degrees).

GPS receiver 34 receives global positioning system signals 52 that aretransmitted by one or more global positioning system satellites 54. TheGPS signals 52, in known fashion, enable the precise location ofplatform 20 relative to surface 31 to be determined. GPS receiver 34decodes GPS signals 52 and issues location signals/data 56, that aredependent at least in part upon GPS signals 52 and which are indicativeof the precise location of platform 20 relative to surface 31. Locationsignals/data 56 corresponding to each image captured by image-capturingdevices 32 a and 32 b are received and stored by image-capturingcomputer system 46.

INU 36 is a conventional inertial navigation unit that is coupled to anddetects changes in the velocity, including translational and rotationalvelocity, of image-capturing devices 32 a and 32 b and/or platform 20.INU 36 issues velocity signals/data 58 indicative of such velocitiesand/or changes therein to image-capturing computer system 46, whichstores velocity signals/data 58 corresponding to each image captured byimage-capturing devices 32 a and 32 b are received and stored byimage-capturing computer system 46.

Clock 38 keeps a precise time measurement (time of validity) that isused to synchronize events within image-capturing and geo-locatingsystem 30. Clock 38 provides time data/clock signal 62 that isindicative of the precise time that an image is taken by image-capturingdevices 32 a and 32 b. Time data 62 is also provided to and stored byimage-capturing computer system 46. Alternatively, clock 38 is integralwith image-capturing computer system 46, such as, for example, a clocksoftware program.

Gyroscope 40 is a conventional gyroscope as commonly found on airplanesand/or within commercial navigation systems for airplanes. Gyroscope 40provides signals including pitch signal 64, roll signal 66 and yawsignal 68, which are respectively indicative of pitch, roll and yaw ofplatform 20. Pitch signal 64, roll signal 66 and yaw signal 68corresponding to each image captured by mage-capturing devices 32 a and32 b are received and stored by image-capturing computer system 46.

Compass 42, such as, for example, a conventional electronic compass,indicates the heading of platform 20. Compass 42 issues headingsignal/data 72 that is indicative of the heading of platform 20.Image-capturing computer system 46 receives and stores the headingsignals/data 72 that correspond to each image captured byimage-capturing devices 32 a and 32 b.

Altimeter 44 indicates the altitude of platform 20. Altimeter 44 issuesaltitude signal/data 74, and image-capturing computer system 46 receivesand stores the altitude signal/data 74 that correspond to each imagecaptured by image-capturing devices 32 a and 32 b.

As best shown in FIG. 3, image-capturing computer system 46, such as,for example, a conventional laptop personal computer, includes memory82, input devices 84 a and 84 b, display device 86, and input and output(I/O) ports 88. Image-capturing computer system 46 executes image anddata acquiring software 90, which is stored in memory 82. Memory 82 alsostores data used and/or calculated by image-capturing computer system 46during the operation thereof, and includes, for example, non-volatileread-only memory, random access memory, hard disk memory, removablememory cards and/or other suitable memory storage devices and/or media.Input devices 84 a and 84 b, such as, for example, a mouse, keyboard,joystick, or other such input devices, enable the input of data andinteraction of a user with software being executed by image-capturingcomputer system 46. Display device 86, such as, for example, a liquidcrystal display or cathode ray tube, displays information to the user ofimage-capturing computer system 46. I/O ports 88, such as, for example,serial and parallel data input and output ports, enable the input and/oroutput of data to and from image-capturing computer system 46.

Each of the above-described data signals is connected to image-capturingcomputer system 46. More particularly, image data signals 48, locationsignals 56, velocity signals 58, time data signal 62, pitch, roll andyaw signals 64, 66 and 68, respectively, heading signal 72 and altitudesignal 74 are received via I/O ports 88 by and stored within memory 82of image-capturing computer system 46.

In use, image-capturing computer system 46 executes image and dataacquiring software 90, which, in general, controls the reading,manipulation, and storing of the above-described data signals. Moreparticularly, image and data acquiring software 90 reads image datasignals 48 a and 48 b and stores them within memory 82. Each of thelocation signals 56, velocity signals 58, time data signal 62, pitch,roll and yaw signals 64, 66 and 68, respectively, heading signal 72 andaltitude signal 74 that represent the conditions existing at the instantan image is acquired or captured by image-capturing devices 32 a and 32b and which correspond to the particular image data signals 48 a and 48b representing the captured images are received by image-capturingcomputer system 46 via I/O ports 88. Image-capturing computer system 46executing image and data acquiring software 90 issues image-capturesignal 92 to image-capturing devices 32 a and 32 b to thereby causethose devices to acquire or capture an image at predetermined locationsand/or at predetermined intervals which are dependent at least in partupon the velocity of platform 20.

Image and data acquiring software 90 decodes as necessary and stores theaforementioned signals within memory 82, and associates the data signalswith the corresponding image signals 48 a and 48 b. Thus, the altitude,orientation in terms of roll, pitch, and yaw, and the location ofimage-capturing devices 32 a and 32 b relative to surface 31, i.e.,longitude and latitude, for every image captured by image-capturingdevices 32 a and 32 b is known.

Platform 20 is piloted or otherwise guided through an image-capturingpath that passes over a particular area of surface 31, such as,for-example, a predefined area of the surface of the earth or of anotherplanet. Preferably, the image-capturing path of platform 20 is at rightangles to at least one of the boundaries of the area of interest. Thenumber of times platform 20 and/or image-capturing devices 32 a, 32 bpass over the area of interest is dependent at least in part upon thesize of the area and the amount of detail desired in the capturedimages. The particular details of the image-capturing path of platform20 are described more particularly hereinafter.

As platform 20 passes over the area of interest a number of obliqueimages are captured by image-capturing devices 32 a and 32 b. As will beunderstood by those of ordinary skill in the art, images are captured oracquired by image-capturing devices 32 a and 32 b at predetermined imagecapture intervals which are dependent at least in part upon the velocityof platform 20.

Image data signals 48 a and 48 b corresponding to each image acquiredare received by and stored within memory 82 of image-capturing computersystem 46 via I/O ports 88. Similarly, the data signals (i.e., imagedata signals 48, location signals 56, velocity signals 58, time datasignal 62, pitch, roll and yaw signals 64, 66 and 68, respectively,heading signal 72 and altitude signal 74) corresponding to each capturedimage are received and stored within memory 82 of image-capturingcomputer system 46 via I/O ports 88. Thus, the location ofimage-capturing device 32 a and 32 b relative to surface 32 at theprecise moment each image is captured is recorded within memory 82 andassociated with the corresponding captured image.

As best shown in FIG. 1, the location of image-capturing devices 32 aand 32 b relative to the earth corresponds to the nadir point N oforthogonal image 102. Thus, the exact geo-location of the nadir point Nof orthogonal image 102 is indicated by location signals 56, velocitysignals 58, time data signal 62, pitch, roll and yaw signals 64,66 and68, respectively, heading signal 72 and altitude signal 74. Once thenadir point N of orthogonal image 102 is known, the geo-location of anyother pixel or point within image 102 is determinable in known manner.

When image-capturing devices 32 a and 32 b are capturing oblique images,such as oblique images 104 a and 104 b (FIG. 1), the location ofimage-capturing devices 32 a and 32 b relative to surface 31 issimilarly indicated by location signals 56, velocity signals 58, timedata signal 62, pitch, roll and yaw signals 64,66 and 68, respectively,heading signal 72, altitude signal 74 and the known angle of declination0 of the primary axes A₁ and A₂ of image-capturing devices 32 a and 32b, respectively.

It should be particularly noted that a calibration process enables imageand data acquiring software 90 to incorporate correction factors and/orcorrect for any error inherent in or due to image-capturing device 32,such as, for example, error due to calibrated focal length, sensor size,radial distortion, principal point offset, and alignment.

Image and data acquiring software 90 creates and stores in memory 82 oneor more output image and data files 120. More particularly, image anddata acquiring software 90 converts image data signals 48 a, 48 b andthe orientation data signals (i.e., image data signals 48, locationsignals 56, velocity signals 58, time data signal 62, pitch, roll andyaw signals 64, 66 and 68, respectively, heading signal 72 and altitudesignal 74) into computer-readable output image and data files 120. Asbest shown in FIG. 4, output image and data file 120 contains aplurality of captured image files I₁, I₂, . . . , I_(n) corresponding tocaptured oblique images, and the positional data C_(PD1), C_(PD2), . . ., C_(PDn) corresponding thereto.

Image files I₁, I₂, . . . , I_(n) of the image and data file 120 arestored in virtually any computer-readable image or graphics file format,such as, for example, JPEG, TIFF, GIF, BMP, or PDF file formats, and arecross-referenced with the positional data C_(PD1), C_(PD2), . . . ,C_(PDn) which is also stored as computer-readable data. Alternatively,positional data C_(PD1)/C_(PD2), . . . , C_(PDn) is embedded within thecorresponding image files I₁, I₂, . . . , I_(n) in known manner. Imagedata files 120 are then processed, either by image and data acquiringsoftware 90 or by post-processing, to correct for errors, such as, forexample, errors due to flight path deviations and other errors known toone of ordinary skill in the art. Thereafter, image data files 120 areready for use to display and make measurements of and between theobjects depicted within the captured images, including measurements ofthe heights of such objects.

Referring now to FIG. 5, image display and measurement computer system130, such as, for example, a conventional desktop personal computer or amobile computer terminal in a police car, includes memory 132, inputdevices 134 a and 134 b, display device 136, and network connection 138.Image-capturing computer system 130 executes image display and analysissoftware 140, which is stored in memory 132. Memory 132 includes, forexample, non-volatile read-only memory, random access memory, hard diskmemory, removable memory cards and/or other suitable memory storagedevices and/or media. Input devices 134 a and 134 b, such as, forexample, a mouse, keyboard, joystick, or other such input devices,enable the input of data and interaction of a user with image displayand analysis software 140 being executed by image display andmeasurement computer system 130. Display device 136, such as, forexample, a liquid crystal display or cathode ray tube, displaysinformation to the user of image display and measurement computer system130. Network connection 138 connects image display and measurementcomputer system 130 to a network (not shown), such as, for example, alocal-area network, wide-area network, the Internet and/or the WorldWide Web.

In use, and referring now to FIG. 6, image display and measurementcomputer system 130 executing image display and analysis software 140accesses one or more 10 output image and data files 120 that have beenread into memory 132, such as, for example, via network connection 138,a floppy disk drive, removable memory card or other suitable means. Oneor more of the captured images I₁, I_(n), . . . , I_(n) of output imageand data files 120 is thereafter displayed as displayed oblique image142 under the control of image display and analysis software 140. Atapproximately the same time, one or more data portions C_(PD1), C_(PD2),. . . C_(PDn) corresponding to displayed oblique image 142 are read intoa readily-accessible portion of memory 132.

It should be particularly noted that displayed oblique image 142 isdisplayed substantially as captured, i.e., displayed image 142 is notwarped or fitted to any coordinate system nor is displayed image 142ortho-rectified. Rather than warping displayed image 142 to a coordinatesystem in order to enable measurement of objects depicted therein, imagedisplay and analysis software 140, in general, determines thegeo-locations of selected pixels only as needed, or “on the fly”, byreferencing data portions C_(PD1), C_(PD2), . . . , C_(PDn) of outputimage and data files 120 and calculating the position and/orgeo-location of those selected pixels using one or more projectionequations as is more particularly described hereinafter.

Generally, a user of display and measurement computer system 130 takesmeasurements of and between objects depicted in displayed oblique image142 by selecting one of several available measuring modes providedwithin image display and analysis software 140. The user selects thedesired measurement mode by accessing, for example, a series ofpull-down menus or toolbars M, or via keyboard commands. The measuringmodes provided by image display and analysis software 140 include, forexample, a distance mode that enables measurement of the distancebetween two or more selected points, an area mode that enablesmeasurement of the area encompassed by several selected andinterconnected points, a height mode that enables measurement of theheight between two or more selected points, and an elevation mode thatenables the measurement of the change in elevation of one selected pointrelative to one or more other selected points.

After selecting the desired measurement mode, the user of image displayand analysis software 140 selects with one of input devices 134 a, 134 ba starting point or starting pixel 152 and an ending point or pixel 154on displayed image 142, and image display and analysis software 140automatically calculates and displays the quantity sought, such as, forexample, the distance between starting pixel 152 and ending pixel 154.

When the user selects starting point/pixel 152, the geo-location of thepoint corresponding thereto on surface 31 is calculated by image displayand analysis software 140 which executes one or more projectionequations using the data portions C_(PD1), C_(PD2), . . . , C_(PDn) ofoutput image and data files 120 that correspond to the particular imagebeing displayed. The longitude and latitude of the point on surface 31corresponding to pixel 152 are then displayed by image display andanalysis software 140 on display 136, such as, for example, bysuperimposing the longitude and latitude on displayed image 142 adjacentthe selected point/pixel or in pop-up display box elsewhere on display136. The same process is repeated by the user for the selection of theend pixel/point 154, and by image display and analysis software 140 forthe retrieval and display of the longitude and latitude information.

The calculation of the distance between starting and endingpoints/pixels 152, 154, respectively, is accomplished by determining thegeo-location of each selected pixel 152, 154 “on the fly”. The dataportions C_(PD1), C_(PD2), . . . , C_(PDn) of output image and data file120 corresponding to the displayed image are retrieved, and thegeo-location of the point on surface 31 corresponding to each selectedpixel are then determined. The difference between the geo-locationscorresponding to the selected pixels determines the distance between thepixels.

As an example of how the geo-location of a given point or pixel withindisplayed oblique image 142 is determined, we will assume that displayedimage 142 corresponds to orthogonal image 104 a (FIG. 1). The user ofimage display and analysis software 140 selects pixel 154 which, forsimplicity, corresponds to center C (FIG. 1) of oblique image 104 a. Asshown in FIG. 1, line 106 extends along horizontal plane G from a point108 thereon that is directly below image-capturing device 32 a to thecenter C of the near border or edge 108 of oblique image 104 a. Anextension of primary axis A₁ intersects with center C. Angle Ø is theangle formed between line 106 the extension of primary axis A₁. Thus, atriangle (not referenced) is formed having vertices at image-capturingdevice 32 a, point 108 and center C, and having sides 106, the extensionof primary axis A₁ and vertical (dashed) line 110 between point 108 andimage-capturing device 32 a.

Ground plane G is a substantially horizontal, flat or non-sloping groundplane (and which typically will have an elevation that reflects theaverage elevation of the terrain), and therefore the above-describedtriangle includes a right angle between side/line 110 and sideline 106.Since angle Ø and the altitude of image-capturing device 32 (i.e., thelength of side 110) are known, the hypotenuse (i.e., the length of theextension of primary axis A₁) and remaining other side of the righttriangle are calculated by simple geometry. Further, since the exactposition of image-capturing device 32 a is known at the time the imagecorresponding to displayed image 142 was captured, the latitude andlongitude of point 108 are also known. Knowing the length of side 106,calculated as described above, enables the exact geo-location of pixel154 corresponding to center C of oblique image 104 a to be determined byimage display and analysis software 140. Once the geo-location of thepoint corresponding to pixel 154 is known, the geo-location of any otherpixel in displayed oblique image 142 is determinable using the knowncamera characteristics, such as, for example, focal length, sensor sizeand aspect ratio, radial and other distortion terms, etc. The distancebetween the two or more points corresponding to two or more selectedpixels within displayed image 142 is calculated by image display andanalysis software 140 by determining the difference between thegeo-locations of the selected pixels using known algorithms, such as,for example, the Gauss formula and/or the vanishing point formula,dependent upon the selected measuring mode. The measurement of objectsdepicted or appearing in displayed image 142 is conducted by asubstantially similar procedure to the procedure described above formeasuring distances between selected pixels. For example, the lengths,widths and heights of objects, such as, for example, buildings, rivers,roads, and virtually any other geographic or man-made structure,appearing within displayed image 142 are measured by selecting theappropriate/desired measurement mode and selecting starting and endingpixels.

It should be particularly noted that in the distance measuring mode ofimage display and analysis software 140 the distance between thestarting and ending points/pixels 152, 154, respectively, isdeterminable along virtually any path, such as, for example, a“straight-line” path P1 or a path P2 that involves the selection ofintermediate points/pixels and one or more “straight-line” segmentsinterconnected therewith.

It should also be particularly noted that the distance measuring mode ofimage display and analysis software 140 determines the distance betweenselected pixels according to a “walk the earth” method. The “walk theearth method” creates a series of interconnected line segments,represented collectively by paths P1 and P2, that extend between theselected pixels/points and which lie upon or conform to the planar facesof a series of interconnected facets that define a tessellated groundplane. The tessellated ground plane, as will be more particularlydescribed hereinafter, closely follows or recreates the terrain ofsurface 31, and therefore paths P1 and P2 also closely follow theterrain of surface 31. By measuring the distance along the terrainsimulated by the tessellated ground plane, the “walk the earth” methodprovides for a more accurate and useful measurement of the distancebetween selected points than the conventional approach, which warps theimage onto a flat earth or average elevation plane system and measuresthe distance between selected points along the flat earth or plane andsubstantially ignores variations in terrain between the points.

For example, a contractor preparing to bid on a contract for paving aroadway over uneven or hilly terrain can determine the approximateamount or area of roadway involved using image display and analysissoftware 140 and the “walk the earth” measurement method providedthereby. The contractor can obtain the approximate amount or area ofroadway from his or her own office without having to send a surveyingcrew to the site to obtain the measurements necessary.

In contrast to the “walk the earth” method provided by the presentinvention, the “flat earth” or average elevation distance calculatingapproaches include inherent inaccuracies when measuring distancesbetween points and/or objects disposed on uneven terrain and whenmeasuring the sizes and/or heights of objects similarly disposed. Even amodest slope or grade in the surface being captured results in adifference in the elevation of the nadir point relative to virtually anyother point of interest thereon. Thus, referring again to FIG. 1, thetriangle formed by line 106, the extension of primary axis A₁ and thevertical (dashed) line 110 between point 108 and image-capturing device32 a may not be a right triangle. If such is the case, any geometriccalculations assuming that triangle to be a right triangle would containerrors, and such calculations would be reduced to approximations due toeven a relatively slight gradient or slope between the points ofinterest.

For example, if surface 31 slopes upward between nadir point N andcenter C at the near or bottom edge 108 of oblique image 104 then secondline 110 intersects surface 31 before the point at which suchintersection would occur on a level or non-sloping surface 31. If centerC is fifteen feet higher than nadir point N and with a declination angleØ equal to 40° (forty degrees), the calculated location of center Cwould be off by approximately 17.8 feet without correction for thechange in elevation between the points.

As generally discussed above, in order to compensate at least in partfor changes in elevation and the resultant inaccuracies in themeasurement of and between objects within image 142, image display andanalysis software 140 references, as necessary, points within displayedimage 142 and on surface 31 to a pre-calculated tessellated or facetedground plane generally designated 160 in FIG. 6. Tessellated groundplane 160 includes a plurality of individual facets 162 a, 162 b, 162 c,etc., each of which are interconnected to each other and are defined byfour vertices (not referenced, but shown as points) having respectiveelevations. Adjacent pairs of facets 162 a, 162 b, 162 c, etc., sharetwo vertices. Each facet 162 a, 162 b, 162 c, etc., has a respectivepitch and slope. Tessellated ground plane 160 is created based uponvarious data and resources, such as, for example, topographical maps,and/or digital raster graphics, survey data, and various other sources.

Generally, the geo-location of a point of interest on displayed image142 is calculated by determining which of facets 162 a, 162 b, 162 c,etc., correspond to that point of interest. Thus, the location of thepoint of interest is calculated based on the characteristics, i.e.,elevation, pitch and slope, of facets 162 a, 162 b, 162 c, etc., ratherthan based upon a flat or average-elevation ground plane. Error isintroduced only in so far as the topography of surface 31 and thelocation of the point of interest thereon deviate from the planarsurface of the facet 162 a, 162 b, 162 c, etc, within which the point ofinterest lies. That error is reducible through a bilinear interpolationof the elevation of the point of interest within a particular one offacets 162 a, 162 b, 162 c, etc., and using that interpolated elevationin the location calculation performed by image display and analysissoftware 140.

To use tessellated ground plane 160, image display and analysis software140 employs a modified ray-tracing algorithm to find the intersection ofthe ray projected from the image-capturing device 32 a or 32 b towardssurface 31 and tessellated ground plane 160. The algorithm determinesnot only which of facets 162 a, 162 b, 162 c, etc., is intersected bythe ray, but also where within the facet the intersection occurs. By useof bi-linear interpolation, a fairly precise ground location can bedetermined. For the reverse projection, tessellated ground plane 160 isused to find the ground elevation value for the input ground locationalso using bi-linear interpolation. The elevation and location are thenused to project backwards through a model of the image-capturing device32 a or 32 b to determine which of the pixels within displayed image 142corresponds to the given location.

More particularly, and as an example, image display and analysissoftware 140 performs and/or calculates the geo-location of point 164 bysuperimposing and/or fitting tessellated ground plane 160 to at least aportion 166, such as, for example, a hill, of surface 31. It should benoted that only a small portion of tessellated ground plane 160 andfacets 162 a, 162 b, 162 c, etc., thereof is shown along the profile ofportion 166 of surface 31. As discussed above, each of facets 162 a, 162b, 162 c, etc., are defined by four vertices, each of which haverespective elevations, and each of the facets have respective pitchesand slopes. The specific position of point 164 upon the plane/surface ofthe facet 162 a, 162 b, 162 c, etc., within which point 164 (or itsprojection) lies is determined as described above.

Tessellated ground plane 160 is preferably created outside the operationof image display and measurement computer system 130 and image displayand analysis software 140. Rather, tessellated ground plane 160 takesthe form of a relatively simple data table or look-up table 168 storedwithin memory 132 of and/or accessible to image display and measurementcomputer system 130. The computing resources required to calculate thelocations of all the vertices of the many facets of a typical groundplane do not necessarily have to reside within image display andmeasurement computer system 130. Thus, image display and measurementcomputer system 130 is compatible for use with and executable by aconventional personal computer without requiring additional computingresources.

Calculating tessellated ground plane 160 outside of image display andmeasurement computer system 130 enables virtually any level of detail tobe incorporated into tessellated ground plane 160, i.e., the size and/orarea covered by or corresponding to each of facets 162 a, 162 b, 162 c,etc., can be as large or as small as desired, without significantlyincreasing the calculation time, slowing the operation of, norsignificantly increasing the resources required by image display andmeasurement computer system 130 and/or image display and analysissoftware 140. Display and measurement computer system 130 can thereforebe a relatively basic and uncomplicated computer system.

The size of facets 162 a, 162 b, 162 c, etc., are uniform in sizethroughout a particular displayed image 142. For example, if displayedimage 142 corresponds to an area that is approximately 750 feet wide inthe foreground by approximately 900 feet deep, the image can be brokeninto facets that are approximately 50 square feet, thus yielding about15 facets in width and 18 facets in depth. Alternatively, the size offacets 162 a, 162 b, 162 c, etc., are uniform in terms of the number ofpixels contained therein, i.e., each facet is the same number of pixelswide and the same number of pixels deep. Facets in the foreground ofdisplayed image 142, where the pixel density is greatest, wouldtherefore be dimensionally smaller than facets in the background ofdisplayed image 142 where pixel density is lowest. Since it is desirableto take most measurements in the foreground of a displayed image wherepixel density is greatest, creating facets that are uniform in terms ofthe number of pixels they contain has the advantage of providing moreaccurate measurements in the foreground of displayed image 142 relativeto facets that are dimensionally uniform.

Another advantage of using pixels as a basis for defining the dimensionsof facets 162 a, 162 b, 162 c, etc., is that the location calculation(pixel location to ground location) is relatively simple. A useroperates image display and measurement computer system 130 to select apixel within a given facet, image display and analysis software 140looks up the data for the facet corresponding to the selected pixel, theelevation of the selected pixel is calculated as discussed above, andthat elevation is used within the location calculation.

Generally, the method of capturing oblique images of the presentinvention divides an area of interest, such as, for example, a county,into sectors of generally uniform size, such as, for example, sectorsthat are approximately one square mile in area. This is done tofacilitate the creation of a flight plan to capture oblique imagescovering every inch of the area of interest, and to organize and namethe sectors and/or images thereof for easy reference, storage andretrieval (a process known in the art as “sectorization”). Because theedges of any geographic area of interest, such as a county, rarely fallson even square mile boundaries, the method of capturing oblique imagesof the present invention provides more sectors than there are squaremiles in the area of interest—how many more depends largely on thelength of the county borders as well as how straight or jagged they are.Typically, you can expect one extra sector for every two to three milesof border. So if a county or other area of interest is roughly 20 milesby 35 miles, or 700 square miles, the area will be divided intoapproximately from 740 to 780 sectors.

The method of capturing oblique images of the present invention, ingeneral, captures the oblique images from at least two compassdirections, and provides full coverage of the area of interest from atleast those two compass directions. Referring now to FIGS. 7 and 8, afirst embodiment of a method for capturing oblique images of the presentinvention is shown. For sake of clarity, FIGS. 7 and 8 is based on asystem having only one image-capturing device. However, it is to beunderstood that two or more image-capturing devices can be used.

The image-capturing device captures one or more oblique images duringeach pass over area 200. The image-capturing device, as discussed above,is aimed at an angle over area 200 to capture oblique images thereof.Area 200 is traversed in a back-and-forth pattern, similar to the way alawn is mowed, by the image-carrying device and/or the platform toensure double coverage of area 200.

More particularly, area 200 is traversed by image-carrying device 32and/or platform 20 following a first path 202 to thereby capture obliqueimages of portions 202 a, 202 b, and 202 c of area 200. Area 200 is thentraversed by image-carrying device 32 and/or platform 20 following asecond path 204 that is parallel and spaced apart from, and in anopposite direction to, i.e., 180° (one-hundred and eighty degrees) from,first path 202, to thereby capture oblique images of portions 204 a, 204b, 204 c of area 200. By comparing FIGS. 7 and 8, it is seen that aportion 207 (FIG. 8) of area 200 is covered by images 202 a-c capturedfrom a first direction or perspective, and by images 204 a-c capturedfrom a second direction or perspective. As such, the middle portion ofarea 200 is 100% (one-hundred percent) double covered. Theabove-described pattern of traversing or passing over area 200 alongopposing paths that are parallel to paths 202 and 204 is repeated untilthe entirety of area 200 is completely covered by at least one obliqueimage captured from paths that are parallel to, spaced apart from eachother as dictated by the size of area 200, and in the same direction aspaths 202 and 204 to thereby one-hundred percent double cover area 200from those perspectives/directions.

If desired, and for enhanced detail, area 200 is covered by twoadditional opposing and parallel third and fourth paths 206 and 208,respectively, that are perpendicular to paths 202 and 204 as shown inFIGS. 9 and 10. Area 200 is therefore traversed by image-carrying device32 and/or platform 20 following third path 206 to capture oblique imagesof portions 206 a, 206 b and 206 c of area 200, and is then traversedalong fourth path 208 that is parallel, spaced apart from, and oppositeto third path 206 to capture oblique images of portions 208 a, 208 b and208 c of area 200. This pattern of traversing or passing over area 200along opposing paths that are parallel to paths 206 and 208 is similarlyrepeated until the entirety of area 200 is completely covered by atleast one oblique image captured from paths that are parallel to, spacedapart from as dictated by the size of area 200, and in the samedirection as paths 206 and 208 to thereby one-hundred percent doublecover area 200 from those directions/perspectives.

As described above, image-carrying device 32 and/or platform 20,traverses or passes over area 200 along a predetermined path. However,it is to be understood that image-carrying device and/or platform 20 donot necessarily pass or traverse directly over area 200 but rather maypass or traverse an area adjacent, proximate to, or even somewhatremoved from, area 200 in order to ensure that the portion of area 200that is being imaged falls within the image-capture field of theimage-capturing device. Path 202, as shown in FIG. 7, is such a paththat does not pass directly over area 200 but yet captures obliqueimages thereof.

The present invention is capable of capturing images at various levelsof resolution or ground sample distances. A first level of detail,hereinafter referred to as a community level, has a ground sampledistance of, for example, approximately two-feet per pixel. Fororthogonal community-level images, the ground sample distance remainssubstantially constant throughout the image. Orthogonal community-levelimages are captured with sufficient overlap to provide stereo paircoverage. For oblique community-level images, the ground sample distancevaries from, for example, approximately one-foot per pixel in theforeground of the image to approximately two-feet per pixel in themid-ground of the image, and to approximately four-feet per pixel in thebackground of the image. Oblique community-level images are capturedwith sufficient overlap such that each area of interest is typicallycovered by at least two oblique images from each compass directioncaptured. Approximately ten oblique community-level images are capturedper sector.

A second level of detail, hereinafter referred to as a neighborhoodlevel, is significantly more detailed than the community-level images.Neighborhood-level images have a ground sample distance of, for example,approximately six-inches per pixel. For orthogonal neighborhood-levelimages, the ground sample distance remains substantially constant.Oblique neighborhood-level images have a ground sample distance of, forexample, from approximately four-inches per pixel in the foreground ofthe image to approximately six-inches per pixel in the mid-ground of theimage, and to approximately ten-inches per pixel in the background ofthe image. Oblique neighborhood-level images are captured withsufficient overlap such that each area of interest is typically coveredby at least two oblique images from each compass direction captured, andsuch that opposing compass directions provide 100% overlap with eachother. Approximately one hundred (100) oblique area images are capturedper sector.

It should be particularly noted that capturing oblique community and/orneighborhood-level images from all four compass directions ensures thatevery point in the image will appear in the foreground or lower portionof at least one of the captured oblique images, where ground sampledistance is lowest and image detail is greatest.

In the embodiment shown, image-capturing and geo-locating system 30includes a gyroscope, compass and altimeter. However, it is to beunderstood that the image-capturing and geo-locating system of thepresent invention can be alternately configured, such as, for example,to derive and/or calculate altitude, pitch, roll and yaw, and compassheading from the GPS and INU signals/data, thereby rendering one or moreof the gyroscope, compass and altimeter unnecessary. In fact, in theembodiment shown, image-capturing devices are at an equal angle ofdeclination relative to a horizontal plane. However, it is to beunderstood that the declination angles of the image-capturing devices donot have to be equal.

In the embodiment shown, image-capturing computer system executes imageand data acquiring software that issues a common or single image-capturesignal to the image-capturing devices to thereby cause those devices toacquire or capture an image. However, it is to be understood that thepresent invention can be alternately configured to separately cause theimage-capturing devices to capture images at different instants and/orat different intervals.

In the embodiment shown, the method of the present invention capturesoblique images to provide double coverage of an area of interest frompaths/perspectives that are substantially opposite to each other, i.e.,180° (one-hundred and eighty degrees) relative to each other. However,it is to be understood that the method of the present invention can bealternately configured to provide double coverage frompaths/perspectives that are generally and/or substantially perpendicularrelative to each other.

While the present invention has been described as having a preferreddesign, the invention can be further modified within the spirit andscope of this disclosure. This disclosure is therefore intended toencompass any equivalents to the structures and elements disclosedherein. Further, this disclosure is intended to encompass anyvariations, uses, or adaptations of the present invention that use thegeneral principles disclosed herein. Moreover, this disclosure isintended to encompass any departures from the subject matter disclosedthat come within the known or customary practice in the pertinent artand which fall within the limits of the appended claims.

1. A computerized system for displaying and making measurements basedupon captured oblique images, comprising: a computer system executingimage display and analysis software reading: a plurality of capturedoblique images having corresponding geo-location data; and a data tablestoring ground plane data that closely approximates at least a portionof terrain depicted within said captured oblique images; at least onedisplay device adapted to display one or more of the plurality ofcaptured oblique images; and at least one input device adapted to permitselection of one or more points within the plurality of captured obliqueimages, wherein the image display and analysis software when executed bythe computer system causes the computer system to display at least oneof the captured and geo-located oblique images; wherein the imagedisplay and analysis software is adapted to, in response to selection oftwo or more points via the input device, select one or more intermediatepoints positioned between the two or more selected points to therebyform a plurality of line segments connecting the two or more selectedpoints, each line segment, using the ground plane data, following theterrain depicted within the portion of the captured oblique imagecorresponding to that line segment, and wherein the image display andanalysis software is adapted to calculate a distance along said linesegments between the two or more selected points.
 2. The computerizedsystem of claim 1, wherein the ground plane data includes a tessellatedground plane data, said ground plane data representing a tessellatedground plane that closely approximates at least a portion of the terraindepicted within the displayed oblique image, the tessellated groundplane comprising a plurality of interconnected facets, each facet havinga respective pitch and slope.
 3. The computerized system of claim 2,wherein each intermediate point corresponds at least one of theplurality of interconnected facets of the tessellated ground plane. 4.The computerized system of claim 2, wherein the image display andanalysis software identifies which of the facets corresponds to the twoor more selected points and the one or more intermediate points andcalculates an elevation of each point, the image display and analysissoftware using the calculated elevation to calculate the distance alongsaid line segments between the two or more selected points.
 5. Thecomputerized system of claim 2, wherein the tessellated ground plane isone of superimposed upon and fit to said displayed image.
 6. Thecomputerized system of claim 2, wherein the plurality of facets eachcorrespond to equal areas of the displayed oblique image.
 7. Thecomputerized system of claim 2, wherein the plurality of facets eachincludes an equal number of pixels of the displayed oblique image. 8.The computerized system of claim 1, wherein the image display andanalysis software includes user-selectable measuring modes accessiblethrough at least one of pull-down menus, toolbars, and keyboardcommands.
 9. The computerized system of claim 1, wherein each of theoblique images were captured by an image-capturing device, thegeo-location data further comprising at least one of: time datarepresenting the time when an oblique image is captured; location datarepresenting the location of the image-capturing device when an obliqueimage is captured; orientation data representing the orientation of theimage-capturing device when an oblique image is captured; correctiondata representing correction factors for the image-capturing device whenthe oblique image is captured; and elevation data representing anaverage elevation of a surface captured by the image-capturing device.10. The computerized system of claim 9, wherein the location dataincludes latitude, longitude, and altitude of the image-capturing devicewhen an oblique image is captured.
 11. The computerized system of claim9, wherein the orientation data includes roll, pitch, yaw, and headingof the image-capturing device when an oblique image is captured.
 12. Thecomputerized system of claim 9 wherein the image-capturing device is acamera and said correction data includes at least one of a focal length,sensor size, aspect ratio, principle point offset, distortion, and pixelpitch.
 13. The computerized system of claim 1, further comprising: animage-capturing device, the device capturing oblique images and issuingimage-data signals corresponding to the captured images; and at leastone geo-locating device, each geo-locating device issuing acorresponding at least one geo-locating signal indicative at least inpart of a geo-location of the image-capturing device; wherein thecomputerized system receives and stored the image-data signals and theat least one geo-locating signal; and wherein the image display andanalysis software reads the image-data signals and the at least onegeo-locating signal, the software associating each image-data signalwith a corresponding at least one geo-locating signal.
 14. Acomputerized method for taking measurements within a displayed obliqueimage, comprising: receiving, from an input device, a selection of astarting point and an end point on the displayed image; retrieving froma data file positional data corresponding to the starting and endpoints; referencing a ground plane data file storing ground plane datathat closely approximates at least of portion of terrain depicted withinsaid displayed image; connecting the starting point and the end pointwith a plurality of line segments, the line segments conforming to theground plane data to thereby follow the terrain; and calculating thedistance along the line segments between the starting point and the endpoint thereby taking into account said ground plane data of said linesegments.
 15. The method of claim 14, wherein said ground plane data issuperimposed upon said displayed oblique image.
 16. The method of claim14, further comprising the steps of: receiving, from the input device, aselection of one or more intermediate points on the displayed image;retrieving from the data file positional data corresponding to the oneor more intermediate points; connecting adjacent intermediate points toeach other, and connecting the starting point and the end point toadjacent intermediate points, with line segments, the line segmentsconforming to the ground plane data to thereby follow the terrain; andcalculating the distance along the line segments between the startingpoint and the end point.